home *** CD-ROM | disk | FTP | other *** search
/ .net (French) 1996 November / .net Magazine (FR) - Issue 01 - Nov 1996.iso / mac / Outils / TCP / MacTCP Monitor Folder / READ ME < prev   
Text File  |  1995-10-17  |  26KB  |  567 lines

  1.  
  2. MacTCP Monitor
  3. by Chris Johnson
  4. ⌐1994 The University of Texas System Office of Telecommunication Services
  5.  
  6.  
  7. Welcome to the early days of testing for MacTCP Monitor, and an experimental
  8. Simple Internet Version Control (SIVC - pronounced "civic") server.
  9.  
  10. MacTCP Monitor is a simple (in concept, anyway) utility for displaying your 
  11. Mac's TCP activity. It continuously graphs the number of bytes sent/received 
  12. by MacTCP in any given second. This can be handy for keeping an eye on the 
  13. activity of servers running in the background of your Mac, or for gauging 
  14. at-a-glance the throughput of that TCP code you've been working on lately.
  15.  
  16. MacTCP Monitor requires at least System 7, Apple's Thread Manager extension 
  17. (which is built into System 7.5, BTW), Color QuickDraw, and, of course, 
  18. MacTCP.  :-)  Note that some optional parts of MacTCP Monitor only work if 
  19. Peter N. Lewis' "Anarchie" and "MacTCP Watcher" utilities are present on your 
  20. machine.
  21.  
  22. The TCP Data Transfer Graph window can be resized from any edge/corner (when
  23. the mouse is near enough to an edge/corner, the cursor will change 
  24. accordingly to show you what's going on). The width of the label area on the 
  25. left side of the window can be changed by dragging its dividing line. The 
  26. window can be dragged from any point in the window that isn't an edge/corner 
  27. or the aforementioned dividing line (the cursor will change to a hand shape).
  28.  
  29. And, of course, be sure to check-out the dialogs accessible via the 
  30. "Preferences" items in the File menu to see how you can customize MacTCP
  31. Monitor's behavior.
  32.  
  33. If you have comments, bug reports, etc. send them to "chrisj@mail.utexas.edu".
  34.  
  35.  
  36.  
  37.  
  38.  
  39. So What's That SIVC Thing You Mentioned?
  40. ----------------------------------------
  41.  
  42. SIVC (a client of which is built into MacTCP Monitor) is a system for doing 
  43. two things:
  44.  
  45.     1. Determining the size of a product's user base on the Internet. This is
  46.        really useful when you're trying to justify working on a product to
  47.        yourself or your boss. Just waving your arms and asserting that there
  48.        *must* be lots of people using your product because you've received 
  49.        a bunch of email messages about it isn't really very convincing. SIVC
  50.        provides the developer with real numbers that are generally accurate 
  51.        and continuously updated.
  52.        
  53.     2. In keeping with the idea that this exchange of information shouldn't
  54.        benefit only the developer, a SIVC server returns to the client current
  55.        version information for the product, including the exact location from
  56.        which the current version(s) can be downloaded. This allows the 
  57.        application to notify its users when new versions are released, and 
  58.        even makes it easy for the application to download new versions of 
  59.        itself for the user.
  60.  
  61. What about privacy? SIVC shouldn't represent a threat to most people's privacy. 
  62. The only information the SIVC client in this program sends to the server is: 
  63. (1) the name of this program, and (2) the version of this program. The server 
  64. will also log the IP number from which this information was received. So, the 
  65. server doesn't know your name, email address, etc. It just logs the fact that 
  66. someone at IP number X is running version Y of this program. Hopefully this 
  67. won't represent a problem for anyone.
  68.  
  69. If you do feel that SIVC represents a threat to your privacy, you can disable
  70. all SIVC features in MacTCP Monitor from the "Internet Version Control" 
  71. preferences dialog found in the "File" menu. Personally, I'd very much prefer 
  72. that people leave SIVC *enabled*, however. Without it, I don't know if anyone 
  73. is using the product.
  74.  
  75. Note to developers: if you're interested in using SIVC in one of your 
  76. products, you can now get all the necessary information, software, etc. from:
  77.  
  78.     http://www.ots.utexas.edu/sivc/index.html
  79.  
  80.  
  81.  
  82.  
  83. Changes in 1.0d34
  84. -----------------
  85.  
  86. * Corrected a possible problem in the URL accessing code that might have 
  87.   prevented users who haven't installed Internet Config from being able to
  88.   download new versions of MacTCP Monitor from the SIVC dialog. Everyone
  89.   *should* have Internet Config installed on their Macs, but I know that's
  90.   too much to hope for in practice. Sigh.
  91.   
  92.   If you want a copy of Internet Config, it's available from most of your
  93.   favorite Mac archive sites, or, if all else fails, from:
  94.  
  95.       ftp://redback.cs.uwa.edu.au/Others/PeterLewis
  96.  
  97. * Improved the reporting of errors to users when URLs can't be accessed for
  98.   some reason.
  99.  
  100. * Minor cosmetic fix in the Internet Version Control preferences dialog.
  101.  
  102.  
  103. Changes in 1.0d33
  104. -----------------
  105.  
  106. * Added support for a 30 second running average dot in the TCP Data Transfer 
  107.   Graph. By default it's drawn in cyan, and it indicates the average amount 
  108.   of data read & written in the previous 30 seconds (inclusive). Strictly 
  109.   speaking, this feature isn't limited to 30 seconds, but I haven't provided
  110.   the user interface to change this value yet.  :-)
  111.  
  112. * Retries and duplicate packets are now graphed independently of the number
  113.   of bytes read or written in the TCP Data Transfer Graph. They are drawn in 
  114.   yellow by default. In the past, these totals were simply graphed along with
  115.   the bytes read or written, as appropriate.
  116.   
  117. * Added code to the TCP statistics gathering system to cope with possibility
  118.   that the Time Manager task responsible for statistics gathering may not 
  119.   always be activated at the required interval. For some reason, (presumably
  120.   interrupts are being disabled, but I'm not 100% sure) this appears to be a 
  121.   problem when communicating by modem. I've verified that the code works, so
  122.   from now on, any spikes you see aren't my problem.  :-)
  123.   
  124. * Eliminated problem that caused the data transfer graph's labels to be 
  125.   drawn on a black background when used on monitor set to black & white.
  126.   
  127. * Added code to ensure the intended alignment of items in dialog boxes when
  128.   the system font differs from the one I used when laying-out the dialogs.
  129.   Users of user interface enhancements like Aaron will benefit.
  130.  
  131. * Changed default colors for the connection states cells. This change will
  132.   have no effect on you if you've already specified other colors for those
  133.   cells.
  134.  
  135.  
  136. Changes in 1.0d32
  137. -----------------
  138.  
  139. * Added a mode in which MacTCP Monitor will sit dormant until MacTCP is 
  140.   opened by some other program. When 'Monitor is in the foreground, it will 
  141.   display a dialog stating that it is waiting for MacTCP to be opened, and 
  142.   offering you the option of opening MacTCP immediately. When 'Monitor is in 
  143.   the background, the dialog is hidden. Whenever MacTCP is finally opened, 
  144.   all the usual MacTCP Monitor windows will automatically appear at their 
  145.   usual locations.
  146.   
  147.   This feature is handy if you have a dial-up connection to the Internet, 
  148.   since it gives you the option of placing MacTCP Monitor in your Startup 
  149.   Items folder and letting it run all the time. Whenever you choose to 
  150.   initiate a TCP/IP connection with the 'net, MacTCP Monitor's windows will 
  151.   automatically appear.
  152.   
  153.   In the past, MacTCP Monitor would have initiated a connection the moment 
  154.   it was launched, making it highly annoying as a Startup Item (unless, of 
  155.   course, you *wanted* to dial-up the 'net every single time you booted).
  156.   
  157.   This "dormancy" feature can be enabled/disabled in the "General" 
  158.   preferences dialog. It is enabled by default.
  159.   
  160. * Remembers whether or not the "TCP Data Transfer Graph" window was open the
  161.   last time the program was used, and behaves accordingly in successive 
  162.   invocations. In the past, this window was always opened, regardless of 
  163.   whether or not you'd closed it in a previous invocation.
  164.   
  165. * TCP Data Transfer Graph window can now be resized properly when located on 
  166.   something other than the main monitor of multi-monitor systems.
  167.   
  168. * Replaced custom SIVC client code with a common implementation used in my
  169.   other products. Among other things, this means that the "Current Version
  170.   Info" dialog has a new and (IMHO) improved look.
  171.   
  172. * Removed bug that could cause the program to break into MacsBug if it
  173.   received a keystroke when no windows were open. (The bug was introduced in
  174.   1.0d31, which was not released.)
  175.  
  176. * Removed a bug that caused alerts to appear behind modal dialogs, instead
  177.   of in front of them.
  178.  
  179. * Verified thread stack allocations. All allocations should now be not only 
  180.   sufficient, but should also include at least an extra 4K safety margin.
  181.  
  182. * Internet Config (version 1.1 or better) is now used when opening URLs,
  183.   so you don't have to put-up with my default client choices any more. If
  184.   you don't have Internet Config, you'll still be stuck with those default
  185.   client choices of mine. Note that in some upcoming version, Internet Config 
  186.   will become a requirement rather than an option, so install it now, if you
  187.   haven't already. It's a good thing.
  188.  
  189. * Added a few lines of housekeeping code to delete some obsolete items from 
  190.   the preferences file. They weren't hurting anything, but what the heck.
  191.   
  192. * The MacTCP Monitor preferences file now uses the standard preference file
  193.   icon.
  194.  
  195.  
  196. Changes in 1.0d31
  197. -----------------
  198.  
  199. * Not released. See changes in 1.0d32 for a cumulative list.
  200.  
  201.  
  202. Changes in 1.0d30
  203. -----------------
  204.  
  205. * Updated SIVC code to embrace latest improvements in protocol.
  206.  
  207. * Built app with latest versions of common code base (various minor tweaks
  208.   and bug fixes).
  209.  
  210. * Looked into making MacTCP Monitor work with Open Transport, but found
  211.   that it's going to take some serious work, so OT compatibility isn't in 
  212.   this version.
  213.  
  214.  
  215. Changes in 1.0d29
  216. -----------------
  217.  
  218. * Finally found the true source of the disabled Apple menu bug some people
  219.   encountered. Thanks to Rick Watson for the use of his Mac while tracking
  220.   down this problem. Turns out one subroutine was surprised by menus with
  221.   more than 31 items in them, and bungled a test of the menu item states 
  222.   when that was the case. As a result, people (like me) with relatively 
  223.   uncrowded Apple menus didn't encounter this problem.
  224.   
  225. * While working on another program built on the same code base, found a 
  226.   very obscure bug that could result in bogus values being passed as 
  227.   pointers or handles to DisposPtr or DisposHandle, respectively. MacTCP 
  228.   Monitor probably never exercised the afflicted piece of code in a way 
  229.   that could cause the mistake to occur, but it was an annoying bug 
  230.   elsewhere and I'm glad to be rid of it.
  231.  
  232. * Told the tables in the URL handling code that Eudora 3.0 will provide 
  233.   support for "get URL" AppleEvents. Anyone out there who's testing it 
  234.   should find that the "mailto:" URL in 'Monitor's About box will use that
  235.   new Eudora in preference to NewsWatcher, all things being equal (there 
  236.   are cases in which it will use NewsWatcher anyway, but, you don't want 
  237.   to know all the details).
  238.   
  239.   It has been suggested that the URL code should, whenever possible, consult
  240.   Internet Config to determine the user's preferred client for any given 
  241.   type of URL. In the future, it will. I've written Internet Config-aware 
  242.   code before, so it should be straightforward. I'm just not gonna do it 
  243.   right now.  :-)
  244.  
  245.  
  246. Changes in 1.0d28
  247. -----------------
  248.  
  249. * Identified and fixed an old bug in the multithreaded application shell on
  250.   which MacTCP Monitor is based. The bug could cause pointers in one routine
  251.   to become invalid on occasion, which is certainly a bad thing. This fix 
  252.   could take care of several infrequently reported bugs which I haven't been
  253.   able to reproduce in any of my own tests. It might even take care of the 
  254.   disabled Apple menu bug a number of people have reported, but which I also
  255.   haven't been able to reproduce.
  256.   
  257. * An enhancement to the multithreaded application shell enables/disables the 
  258.   Edit menu, and/or its underlying items, as appropriate while text is 
  259.   manipulated in dialog text edit fields. A possible problem with clipboard 
  260.   import/export in such situations should be history now, too.
  261.  
  262.  
  263. Changes in 1.0d27
  264. -----------------
  265.  
  266. * Finally acted on a suggestion by Chuck Shotten to change the keyword 
  267.   delimiters in SIVC transactions from equal signs to colons. Making this
  268.   change required significant alterations to the SIVC server, and minor
  269.   changes to the client code in MacTCP Monitor. The changes to the SIVC 
  270.   server were significant enough that it wasn't possible (given the time 
  271.   constraints) to retain backward compatibility with the old SIVC code in 
  272.   past versions of MacTCP Monitor. As a result, I'll run both the old and
  273.   new SIVC servers concurrently until the 'Monitor user base has more-or-
  274.   less universally upgraded to 1.0d27, thus eliminating any apparent loss
  275.   of service. As the two servers will be keeping separate user base totals,
  276.   those figures will suffer during this process, but it's better to make 
  277.   the change-over now, rather than later.
  278.   
  279.   This change also effects the format of the MacTCP Monitor Prefs file (the 
  280.   same parsing code is used), but backward compatibility has been retained, 
  281.   so users shouldn't be aware that anything has changed in this respect.
  282.   
  283. * Various minor improvements in the application shell on which 'Monitor is 
  284.   built.
  285.  
  286.  
  287. Changes in 1.0d26
  288. -----------------
  289.  
  290. * Fixed a bug (probably introduced back in 1.0d24) which frequently prevented
  291.   the SIVC code in MacTCP Monitor from notifying the user when the product
  292.   went out of date. The queries were made correctly, but the responses 
  293.   could be lost after being received and parsed. Oops. This bug also resulted
  294.   in clients making a number of unnecessary automatic queries to the SIVC
  295.   server. (Automatic queries from versions of MacTCP Monitor prior to 1.0d26
  296.   will no longer be counted in the User Base total, as a result.)
  297.   
  298.   Anyway, tell your friends to upgrade to 1.0d26; they may not find out about
  299.   it otherwise. (Note that the "Current Version Info" item in the "Special" 
  300.   menu has always worked fine, so regardless of what version people currently
  301.   have, they can still do the download of 1.0d26 that way.)
  302.  
  303. * Fixed a bug which resulted in a bad value for the next automatic SIVC query 
  304.   time being recorded in the prefs file.
  305.  
  306. * MacTCP Monitor now checks for the presense of Color QuickDraw while it loads.
  307.   If it doesn't find it, the program *should* just quit now, instead of 
  308.   crashing. I don't have a machine around here without Color QuickDraw, so I 
  309.   can't test this, but the check is simple and should work as anticipated.
  310.   
  311. * Various minor adjustments in the application shell. None of these 
  312.   adjustments should result in an apparent change of behavior in this product,
  313.   but were necessary to make other products work properly.
  314.  
  315.  
  316. Changes in 1.0d25
  317. -----------------
  318.  
  319. * Fixed a logic error which prevented the data transfer graph from being 
  320.   updated when the graph labels were entirely obscured; used an "and" where
  321.   I should have used an "or". Nuts.
  322.   
  323. * Replaced the "Current Version Info" dialog with the slightly redesigned one
  324.   from the SIVC Client application which is currently in the works. The new
  325.   dialog is slightly more compact, while displaying all the same information.
  326.  
  327. * Fixed some anachronistic resource names. This had no effect on anything, it
  328.   just made me feel better.  :-)
  329.  
  330.  
  331. Changes in 1.0d24
  332. -----------------
  333.  
  334. * Rewrote TCP Data Transfer Graph plotting code. Previous code was highly
  335.   optimized for the case in which only a reasonable number of samples were
  336.   being drawn at the right edge of an *unobscured* window. Judging from some
  337.   of the email I've received, that was the wrong case for which to optimize.
  338.   
  339.   I had originally believed that the only alternatives I had were (a) an
  340.   implementation which would tend to flicker when drawing new samples 
  341.   (blech!), or (b) an implementation using an off-screen pixmap which would 
  342.   use memory like it was going out of style (especially for large windows 
  343.   on deep monitors).
  344.   
  345.   Instead, a variation of the aforementioned option 'a' has been implemented,
  346.   with a lot of work devoted to limiting flicker. From my own testing, it
  347.   seems to work fine, with only a little additional flicker (which may or may
  348.   not actually be noticeable) when processing update events. In exchange, it
  349.   plots much faster than its predecessors, especially when the graph window 
  350.   is partially obscured.
  351.   
  352. * When the graph window is resized, its new position is now recorded in
  353.   the prefs file. In the past it appears that only the new window *size*
  354.   was stored, resulting in the window reappearing in an unexpected place
  355.   when the program was next launched.
  356.   
  357. * Clicking on one of the graph's resize edges/corners without actually
  358.   doing a resize no longer results in the window being redrawn and the
  359.   window's position being rewritten to the prefs file.
  360.   
  361. * DebugStr calls will now only be made on machines that actually have MacsBug 
  362.   installed.  :-)  This should eliminate some "unimplemented trap" crashes 
  363.   that one person reported. If you do have MacsBug, be prepared for the 
  364.   unlikely possibility that you might see one of my debugging messages some 
  365.   day. If you do, jot it down, type 'g' on your keyboard, and hit return. The 
  366.   application will go back to running as normally as it can under whatever 
  367.   weird circumstances it has encountered. If you see additional messages, just 
  368.   repeat the aforementioned steps. Finally, send me a message telling me about 
  369.   those messages and what was going on when they appeared. (Extreme low-memory 
  370.   conditions are a possible cause, BTW.)
  371.   
  372. * Made further attempts to reproduce the bug that results in the Apple menu
  373.   being disabled on 68K Macs. No luck so far. However, I have removed some
  374.   redundant old code from the primary menu handling routine that just might
  375.   have been able to cause such a problem. If you were experiencing this 
  376.   problem and find that it's fixed now, please let me know. By the same token,
  377.   if it isn't fixed, please let me know.
  378.  
  379.  
  380. Changes in 1.0d23
  381. -----------------
  382.  
  383. * Edit menu items are now enabled in any dialog that contains text edit
  384.   fields. For simplicity at this stage, the items are enabled whether or
  385.   not they happen to be useful at the time, e.g. the "Copy" item will be
  386.   enabled even if there's no text selected at the time. I'll take care 
  387.   of such details later, after I rearrange the menu handling code.
  388.  
  389. * Fixed a typo in the About box. I'm so embarassed. But, hey, if you 
  390.   didn't notice, I'm not gonna tell you what it was. :-)
  391.  
  392.  
  393. Changes in 1.0d22
  394. -----------------
  395.  
  396. * Fixed a bug in the URL opening code which prevented it from correctly 
  397.   checking the versions of the applications to which it was considering
  398.   sending "Get URL" AppleEvents. Due to bugs in versions of some apps 
  399.   which provide "Get URL" capabilities, this could cause crashes (none 
  400.   were reported, though).
  401.  
  402.  
  403. Changes in 1.0d21
  404. -----------------
  405.  
  406. * Added alerts to notify users of basic failure conditions: Thread Manager
  407.   not present, AppleEvents not present, and that kind of really basic stuff.
  408.   In the past when these conditions were detected, the program would just 
  409.   beep three times and quit.
  410.   
  411. * Added links to info about the product and me to the About dialog. Since
  412.   I'd already added the "mailto:" link to my email address in a previous 
  413.   version, these additions just seemed to make sense. Had to considerably
  414.   beef up my URL opening code in the process.
  415.  
  416. * Replaced previous U.T. logo in the About dialog with a considerably 
  417.   cleaner version.
  418.   
  419. * I had hoped to do some basic restructuring in a few areas, but things have
  420.   been busy lately and haven't, as a result, allowed much time for serious 
  421.   work on this product. Hopefully things will improve in a couple of weeks.
  422.  
  423.  
  424. Changes in 1.0d20
  425. -----------------
  426.  
  427. * Corrected an error in the TCP Data Transfer Graph drawing logic which
  428.   resulted in at least one pixel of "writing" being plotted in the graph
  429.   during any second in which data was transferred, even if all the data
  430.   was actually being read at that time.
  431.   
  432. * Made the TCP Connection States window appear open by default. (It used to
  433.   be closed by default.)
  434.  
  435.  
  436. Changes in 1.0d19
  437. -----------------
  438.  
  439. * Acting on an old suggestion from Peter Lewis, made my email address in the
  440.   About box into a "mailto" URL link. Just click on it (it's blue and 
  441.   underlined just as it would appear in most WWW clients) and it'll fire-up
  442.   NewsWatcher and create a blank email message addressed to me. In order for 
  443.   this feature to work, you must have a current version of John Norstad's 
  444.   NewsWatcher application (like 2.0b24).
  445.   
  446. * Revised my simple-minded URL-opening code to be slightly less simple-minded.
  447.   It now knows about "ftp", "mailto", "news", "http", and "gopher" URLs. (It
  448.   used to only deal with "ftp" URLs.)
  449.  
  450.  
  451. Changes in 1.0d18
  452. -----------------
  453.  
  454. * Changed TCP data transfer statistics gathering code to separately store 
  455.   information on bytes read and written. (These totals used to be added
  456.   together and stored in a single field.)
  457.  
  458. * Changed TCP data transfer graph to draw separate read and write bars, one
  459.   stacked on top of the other. (The write bar is always on top.)
  460.   
  461. * Changed TCP data transfer graph preferences dialog to allow you to set the
  462.   colors of the aforementioned read and write bars. By default, the read and
  463.   write bars are set to dull shades of green and red, respectively.
  464.  
  465. * Changed some Preferences menu items and preference window titles to 
  466.   be a little more specific about their purposes.
  467.  
  468. * Changed the "Contacting User Counter Server..." dialog to read "Contacting
  469.   SIVC Server...". The "User Counter" name has been a misnomer for a while.
  470.  
  471.  
  472. Changes in 1.0d17
  473. -----------------
  474.  
  475. * Added a "Connection State Cells" preferences dialog, and modified the
  476.   Connection States window to make use of the values set therein.
  477.  
  478. * When copying the Connection States window to the Clipboard, the image is
  479.   now framed. I think it looks better this way.
  480.  
  481. * If the prefs. file was open in another application with read/write access 
  482.   and MacTCP Monitor was launched, it would startup, revert to its default 
  483.   configuration, and attempt to close the unopened MacTCP resolver when the 
  484.   user quit the program. This has been fixed. Now 'Monitor just beeps three
  485.   times and exits in this situation, which shouldn't arise in normal usage.
  486.  
  487.  
  488. Changes in 1.0d16
  489. -----------------
  490.  
  491. * Made the "New" item in the "File" menu hierarchical, and placed items in that
  492.   hierarchical menu for opening all the major features of MacTCP Monitor -
  493.   the data transfer graph, and the connection states window. The "Connection
  494.   States" item has been removed from the "Special" menu as a result.
  495.  
  496. * Added a "Connection State Colors" item to the preferences menu. The dialog
  497.   behind that item allows you to set separate colors for each and every 
  498.   TCP connection state, as well as for the read and write indicators. Patterns
  499.   to go along with each color may also be designated, which is likely to
  500.   be useful on machines with limited color palettes.
  501.  
  502. * Corrected (in all probability) a bug that would occasionally prevent the 
  503.   last active connection in the connection state window from being redrawn
  504.   in the closed state when it was closed.
  505.  
  506. * Fixed a bug in the launch-by-signature code that prevented MacTCP Monitor
  507.   from launching MacTCP Watcher and Anarchie if they were stored on anything
  508.   other than the startup volume.
  509.  
  510.  
  511. Changes in 1.0d15
  512. -----------------
  513.  
  514. * Based on a suggestion from Peter N. Lewis, added a window for monitoring 
  515.   the state of all 64 of the connections MacTCP will support at any given
  516.   time. Connection states are color-coded as follows:
  517.   
  518.   + Gray         -- Connection is closed. (Closed.)
  519.   + Blue (50%)   -- Listening for, or establishing, a connection. (Listen,
  520.                     SYNReceived, and SYNSent.)
  521.   + Blue (solid) -- Connection open. (Established.)
  522.   + Cyan         -- Connection closing (FINWait1, FINWait2, CloseWait, 
  523.                     Closing, and LastAck.)
  524.   + Yellow       -- Breaking connection. (TimeWait.)
  525.   
  526.   In addition, green and/or red color bars may be overlaid to indicate that
  527.   data is being read and/or written, respectively, on the connection.
  528.   
  529.   At present, you open this window by choosing the "Connection States" item
  530.   in the "Special" menu. I'll probably move it somewhere else in a future
  531.   version.
  532.   
  533.   In the future, I'll add a preferences dialog that'll let you pick the colors
  534.   used for all these states, set the cell size in the window, etc.
  535.  
  536. * Fixed a bug in the Thread Message Manager's time distribution routine. The
  537.   bug shouldn't have effected previous versions, but became a problem when 
  538.   the connection state window was added.
  539.   
  540. * Moved the "Windows" menu to the end of the menu bar. This seems like a
  541.   better place for it.
  542.   
  543. * Probably did some other stuff, too, but still haven't worked on Rick 
  544.   Watson's useful suggestions.
  545.  
  546.  
  547. Changes in 1.0d14
  548. -----------------
  549.  
  550. * Incorporated John Nortsad's correction to the definition of the TCPSendPB 
  551.   parameter block in the MacTCP.h header from Apple's version 2.0a3 of the 
  552.   Universal Headers. (The "filler" field was in the wrong place in Apple's
  553.   version.)
  554.  
  555. * Retouched the U.T. System seal in the about box in order to make it look 
  556.   the same in the 256, Thousands and Millions color modes. Previous versions
  557.   looked fine in the Thousands and Millions modes, but not in the 256 color
  558.   mode. (Hey, I always use Millions. :-)
  559.  
  560.  
  561. Changes in 1.0d13
  562. -----------------
  563.  
  564. * Fixed problem with radio buttons in 68K version.
  565.  
  566.  
  567.